package com.opencee.boot.db.mybatis.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.opencee.boot.db.mybatis.service.ISupperService;
import com.opencee.boot.db.mybatis.service.impl.SupperServiceImpl;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;

/**
 * 根Mapper，给表Mapper继承用的，可以自定义通用方法
 * 数据库链接 须有以下参数 ?allowMultiQueries=true&autoReconnect=true&rewriteBatchedStatements=true
 * {@link com.baomidou.mybatisplus.core.mapper.BaseMapper}
 * {@link ISupperService}
 * {@link SupperServiceImpl}
 * @author liuyadu
 */
public interface SuperMapper<T> extends BaseMapper<T> {

    /**
     * 自定义批量插入
     * 如果要自动填充，@Param(xx) xx参数名必须是 list/collection/array 3个的其中之一
     *
     * @param list
     * @return
     */
    int insertBatch(@Param("list") Collection<T> list);

    /**
     * 自定义批量更新，条件为主键
     * 如果要自动填充，@Param(xx) xx参数名必须是 list/collection/array 3个的其中之一
     *
     * @param list
     * @return
     */
    int updateBatch(@Param("list") Collection<T> list);
}
